package com.itcncp.ucenter.dao.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class UserCustomerInfoExample implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private static final long serialVersionUID = 1L;

    public UserCustomerInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria implements Serializable {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Long value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Long value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Long value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Long value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Long value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Long> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Long> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Long value1, Long value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Long value1, Long value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andMobileIsNull() {
            addCriterion("mobile is null");
            return (Criteria) this;
        }

        public Criteria andMobileIsNotNull() {
            addCriterion("mobile is not null");
            return (Criteria) this;
        }

        public Criteria andMobileEqualTo(String value) {
            addCriterion("mobile =", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotEqualTo(String value) {
            addCriterion("mobile <>", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileGreaterThan(String value) {
            addCriterion("mobile >", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileGreaterThanOrEqualTo(String value) {
            addCriterion("mobile >=", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileLessThan(String value) {
            addCriterion("mobile <", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileLessThanOrEqualTo(String value) {
            addCriterion("mobile <=", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileLike(String value) {
            addCriterion("mobile like", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotLike(String value) {
            addCriterion("mobile not like", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileIn(List<String> values) {
            addCriterion("mobile in", values, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotIn(List<String> values) {
            addCriterion("mobile not in", values, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileBetween(String value1, String value2) {
            addCriterion("mobile between", value1, value2, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotBetween(String value1, String value2) {
            addCriterion("mobile not between", value1, value2, "mobile");
            return (Criteria) this;
        }

        public Criteria andTokenIsNull() {
            addCriterion("token is null");
            return (Criteria) this;
        }

        public Criteria andTokenIsNotNull() {
            addCriterion("token is not null");
            return (Criteria) this;
        }

        public Criteria andTokenEqualTo(String value) {
            addCriterion("token =", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenNotEqualTo(String value) {
            addCriterion("token <>", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenGreaterThan(String value) {
            addCriterion("token >", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenGreaterThanOrEqualTo(String value) {
            addCriterion("token >=", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenLessThan(String value) {
            addCriterion("token <", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenLessThanOrEqualTo(String value) {
            addCriterion("token <=", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenLike(String value) {
            addCriterion("token like", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenNotLike(String value) {
            addCriterion("token not like", value, "token");
            return (Criteria) this;
        }

        public Criteria andTokenIn(List<String> values) {
            addCriterion("token in", values, "token");
            return (Criteria) this;
        }

        public Criteria andTokenNotIn(List<String> values) {
            addCriterion("token not in", values, "token");
            return (Criteria) this;
        }

        public Criteria andTokenBetween(String value1, String value2) {
            addCriterion("token between", value1, value2, "token");
            return (Criteria) this;
        }

        public Criteria andTokenNotBetween(String value1, String value2) {
            addCriterion("token not between", value1, value2, "token");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoIsNull() {
            addCriterion("device_app_no is null");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoIsNotNull() {
            addCriterion("device_app_no is not null");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoEqualTo(String value) {
            addCriterion("device_app_no =", value, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoNotEqualTo(String value) {
            addCriterion("device_app_no <>", value, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoGreaterThan(String value) {
            addCriterion("device_app_no >", value, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoGreaterThanOrEqualTo(String value) {
            addCriterion("device_app_no >=", value, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoLessThan(String value) {
            addCriterion("device_app_no <", value, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoLessThanOrEqualTo(String value) {
            addCriterion("device_app_no <=", value, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoLike(String value) {
            addCriterion("device_app_no like", value, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoNotLike(String value) {
            addCriterion("device_app_no not like", value, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoIn(List<String> values) {
            addCriterion("device_app_no in", values, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoNotIn(List<String> values) {
            addCriterion("device_app_no not in", values, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoBetween(String value1, String value2) {
            addCriterion("device_app_no between", value1, value2, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoNotBetween(String value1, String value2) {
            addCriterion("device_app_no not between", value1, value2, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andUserTypeIsNull() {
            addCriterion("user_type is null");
            return (Criteria) this;
        }

        public Criteria andUserTypeIsNotNull() {
            addCriterion("user_type is not null");
            return (Criteria) this;
        }

        public Criteria andUserTypeEqualTo(Byte value) {
            addCriterion("user_type =", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeNotEqualTo(Byte value) {
            addCriterion("user_type <>", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeGreaterThan(Byte value) {
            addCriterion("user_type >", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeGreaterThanOrEqualTo(Byte value) {
            addCriterion("user_type >=", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeLessThan(Byte value) {
            addCriterion("user_type <", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeLessThanOrEqualTo(Byte value) {
            addCriterion("user_type <=", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeIn(List<Byte> values) {
            addCriterion("user_type in", values, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeNotIn(List<Byte> values) {
            addCriterion("user_type not in", values, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeBetween(Byte value1, Byte value2) {
            addCriterion("user_type between", value1, value2, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeNotBetween(Byte value1, Byte value2) {
            addCriterion("user_type not between", value1, value2, "userType");
            return (Criteria) this;
        }

        public Criteria andAgentNameIsNull() {
            addCriterion("agent_name is null");
            return (Criteria) this;
        }

        public Criteria andAgentNameIsNotNull() {
            addCriterion("agent_name is not null");
            return (Criteria) this;
        }

        public Criteria andAgentNameEqualTo(String value) {
            addCriterion("agent_name =", value, "agentName");
            return (Criteria) this;
        }

        public Criteria andAgentNameNotEqualTo(String value) {
            addCriterion("agent_name <>", value, "agentName");
            return (Criteria) this;
        }

        public Criteria andAgentNameGreaterThan(String value) {
            addCriterion("agent_name >", value, "agentName");
            return (Criteria) this;
        }

        public Criteria andAgentNameGreaterThanOrEqualTo(String value) {
            addCriterion("agent_name >=", value, "agentName");
            return (Criteria) this;
        }

        public Criteria andAgentNameLessThan(String value) {
            addCriterion("agent_name <", value, "agentName");
            return (Criteria) this;
        }

        public Criteria andAgentNameLessThanOrEqualTo(String value) {
            addCriterion("agent_name <=", value, "agentName");
            return (Criteria) this;
        }

        public Criteria andAgentNameLike(String value) {
            addCriterion("agent_name like", value, "agentName");
            return (Criteria) this;
        }

        public Criteria andAgentNameNotLike(String value) {
            addCriterion("agent_name not like", value, "agentName");
            return (Criteria) this;
        }

        public Criteria andAgentNameIn(List<String> values) {
            addCriterion("agent_name in", values, "agentName");
            return (Criteria) this;
        }

        public Criteria andAgentNameNotIn(List<String> values) {
            addCriterion("agent_name not in", values, "agentName");
            return (Criteria) this;
        }

        public Criteria andAgentNameBetween(String value1, String value2) {
            addCriterion("agent_name between", value1, value2, "agentName");
            return (Criteria) this;
        }

        public Criteria andAgentNameNotBetween(String value1, String value2) {
            addCriterion("agent_name not between", value1, value2, "agentName");
            return (Criteria) this;
        }

        public Criteria andAgentIdTypeIsNull() {
            addCriterion("agent_id_type is null");
            return (Criteria) this;
        }

        public Criteria andAgentIdTypeIsNotNull() {
            addCriterion("agent_id_type is not null");
            return (Criteria) this;
        }

        public Criteria andAgentIdTypeEqualTo(Byte value) {
            addCriterion("agent_id_type =", value, "agentIdType");
            return (Criteria) this;
        }

        public Criteria andAgentIdTypeNotEqualTo(Byte value) {
            addCriterion("agent_id_type <>", value, "agentIdType");
            return (Criteria) this;
        }

        public Criteria andAgentIdTypeGreaterThan(Byte value) {
            addCriterion("agent_id_type >", value, "agentIdType");
            return (Criteria) this;
        }

        public Criteria andAgentIdTypeGreaterThanOrEqualTo(Byte value) {
            addCriterion("agent_id_type >=", value, "agentIdType");
            return (Criteria) this;
        }

        public Criteria andAgentIdTypeLessThan(Byte value) {
            addCriterion("agent_id_type <", value, "agentIdType");
            return (Criteria) this;
        }

        public Criteria andAgentIdTypeLessThanOrEqualTo(Byte value) {
            addCriterion("agent_id_type <=", value, "agentIdType");
            return (Criteria) this;
        }

        public Criteria andAgentIdTypeIn(List<Byte> values) {
            addCriterion("agent_id_type in", values, "agentIdType");
            return (Criteria) this;
        }

        public Criteria andAgentIdTypeNotIn(List<Byte> values) {
            addCriterion("agent_id_type not in", values, "agentIdType");
            return (Criteria) this;
        }

        public Criteria andAgentIdTypeBetween(Byte value1, Byte value2) {
            addCriterion("agent_id_type between", value1, value2, "agentIdType");
            return (Criteria) this;
        }

        public Criteria andAgentIdTypeNotBetween(Byte value1, Byte value2) {
            addCriterion("agent_id_type not between", value1, value2, "agentIdType");
            return (Criteria) this;
        }

        public Criteria andAgentIdNumIsNull() {
            addCriterion("agent_id_num is null");
            return (Criteria) this;
        }

        public Criteria andAgentIdNumIsNotNull() {
            addCriterion("agent_id_num is not null");
            return (Criteria) this;
        }

        public Criteria andAgentIdNumEqualTo(String value) {
            addCriterion("agent_id_num =", value, "agentIdNum");
            return (Criteria) this;
        }

        public Criteria andAgentIdNumNotEqualTo(String value) {
            addCriterion("agent_id_num <>", value, "agentIdNum");
            return (Criteria) this;
        }

        public Criteria andAgentIdNumGreaterThan(String value) {
            addCriterion("agent_id_num >", value, "agentIdNum");
            return (Criteria) this;
        }

        public Criteria andAgentIdNumGreaterThanOrEqualTo(String value) {
            addCriterion("agent_id_num >=", value, "agentIdNum");
            return (Criteria) this;
        }

        public Criteria andAgentIdNumLessThan(String value) {
            addCriterion("agent_id_num <", value, "agentIdNum");
            return (Criteria) this;
        }

        public Criteria andAgentIdNumLessThanOrEqualTo(String value) {
            addCriterion("agent_id_num <=", value, "agentIdNum");
            return (Criteria) this;
        }

        public Criteria andAgentIdNumLike(String value) {
            addCriterion("agent_id_num like", value, "agentIdNum");
            return (Criteria) this;
        }

        public Criteria andAgentIdNumNotLike(String value) {
            addCriterion("agent_id_num not like", value, "agentIdNum");
            return (Criteria) this;
        }

        public Criteria andAgentIdNumIn(List<String> values) {
            addCriterion("agent_id_num in", values, "agentIdNum");
            return (Criteria) this;
        }

        public Criteria andAgentIdNumNotIn(List<String> values) {
            addCriterion("agent_id_num not in", values, "agentIdNum");
            return (Criteria) this;
        }

        public Criteria andAgentIdNumBetween(String value1, String value2) {
            addCriterion("agent_id_num between", value1, value2, "agentIdNum");
            return (Criteria) this;
        }

        public Criteria andAgentIdNumNotBetween(String value1, String value2) {
            addCriterion("agent_id_num not between", value1, value2, "agentIdNum");
            return (Criteria) this;
        }

        public Criteria andAgentTelIsNull() {
            addCriterion("agent_tel is null");
            return (Criteria) this;
        }

        public Criteria andAgentTelIsNotNull() {
            addCriterion("agent_tel is not null");
            return (Criteria) this;
        }

        public Criteria andAgentTelEqualTo(String value) {
            addCriterion("agent_tel =", value, "agentTel");
            return (Criteria) this;
        }

        public Criteria andAgentTelNotEqualTo(String value) {
            addCriterion("agent_tel <>", value, "agentTel");
            return (Criteria) this;
        }

        public Criteria andAgentTelGreaterThan(String value) {
            addCriterion("agent_tel >", value, "agentTel");
            return (Criteria) this;
        }

        public Criteria andAgentTelGreaterThanOrEqualTo(String value) {
            addCriterion("agent_tel >=", value, "agentTel");
            return (Criteria) this;
        }

        public Criteria andAgentTelLessThan(String value) {
            addCriterion("agent_tel <", value, "agentTel");
            return (Criteria) this;
        }

        public Criteria andAgentTelLessThanOrEqualTo(String value) {
            addCriterion("agent_tel <=", value, "agentTel");
            return (Criteria) this;
        }

        public Criteria andAgentTelLike(String value) {
            addCriterion("agent_tel like", value, "agentTel");
            return (Criteria) this;
        }

        public Criteria andAgentTelNotLike(String value) {
            addCriterion("agent_tel not like", value, "agentTel");
            return (Criteria) this;
        }

        public Criteria andAgentTelIn(List<String> values) {
            addCriterion("agent_tel in", values, "agentTel");
            return (Criteria) this;
        }

        public Criteria andAgentTelNotIn(List<String> values) {
            addCriterion("agent_tel not in", values, "agentTel");
            return (Criteria) this;
        }

        public Criteria andAgentTelBetween(String value1, String value2) {
            addCriterion("agent_tel between", value1, value2, "agentTel");
            return (Criteria) this;
        }

        public Criteria andAgentTelNotBetween(String value1, String value2) {
            addCriterion("agent_tel not between", value1, value2, "agentTel");
            return (Criteria) this;
        }

        public Criteria andAgentAddressIsNull() {
            addCriterion("agent_address is null");
            return (Criteria) this;
        }

        public Criteria andAgentAddressIsNotNull() {
            addCriterion("agent_address is not null");
            return (Criteria) this;
        }

        public Criteria andAgentAddressEqualTo(String value) {
            addCriterion("agent_address =", value, "agentAddress");
            return (Criteria) this;
        }

        public Criteria andAgentAddressNotEqualTo(String value) {
            addCriterion("agent_address <>", value, "agentAddress");
            return (Criteria) this;
        }

        public Criteria andAgentAddressGreaterThan(String value) {
            addCriterion("agent_address >", value, "agentAddress");
            return (Criteria) this;
        }

        public Criteria andAgentAddressGreaterThanOrEqualTo(String value) {
            addCriterion("agent_address >=", value, "agentAddress");
            return (Criteria) this;
        }

        public Criteria andAgentAddressLessThan(String value) {
            addCriterion("agent_address <", value, "agentAddress");
            return (Criteria) this;
        }

        public Criteria andAgentAddressLessThanOrEqualTo(String value) {
            addCriterion("agent_address <=", value, "agentAddress");
            return (Criteria) this;
        }

        public Criteria andAgentAddressLike(String value) {
            addCriterion("agent_address like", value, "agentAddress");
            return (Criteria) this;
        }

        public Criteria andAgentAddressNotLike(String value) {
            addCriterion("agent_address not like", value, "agentAddress");
            return (Criteria) this;
        }

        public Criteria andAgentAddressIn(List<String> values) {
            addCriterion("agent_address in", values, "agentAddress");
            return (Criteria) this;
        }

        public Criteria andAgentAddressNotIn(List<String> values) {
            addCriterion("agent_address not in", values, "agentAddress");
            return (Criteria) this;
        }

        public Criteria andAgentAddressBetween(String value1, String value2) {
            addCriterion("agent_address between", value1, value2, "agentAddress");
            return (Criteria) this;
        }

        public Criteria andAgentAddressNotBetween(String value1, String value2) {
            addCriterion("agent_address not between", value1, value2, "agentAddress");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Byte value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Byte value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Byte value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Byte value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Byte value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Byte value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Byte> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Byte> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Byte value1, Byte value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Byte value1, Byte value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andHeadIsNull() {
            addCriterion("head is null");
            return (Criteria) this;
        }

        public Criteria andHeadIsNotNull() {
            addCriterion("head is not null");
            return (Criteria) this;
        }

        public Criteria andHeadEqualTo(String value) {
            addCriterion("head =", value, "head");
            return (Criteria) this;
        }

        public Criteria andHeadNotEqualTo(String value) {
            addCriterion("head <>", value, "head");
            return (Criteria) this;
        }

        public Criteria andHeadGreaterThan(String value) {
            addCriterion("head >", value, "head");
            return (Criteria) this;
        }

        public Criteria andHeadGreaterThanOrEqualTo(String value) {
            addCriterion("head >=", value, "head");
            return (Criteria) this;
        }

        public Criteria andHeadLessThan(String value) {
            addCriterion("head <", value, "head");
            return (Criteria) this;
        }

        public Criteria andHeadLessThanOrEqualTo(String value) {
            addCriterion("head <=", value, "head");
            return (Criteria) this;
        }

        public Criteria andHeadLike(String value) {
            addCriterion("head like", value, "head");
            return (Criteria) this;
        }

        public Criteria andHeadNotLike(String value) {
            addCriterion("head not like", value, "head");
            return (Criteria) this;
        }

        public Criteria andHeadIn(List<String> values) {
            addCriterion("head in", values, "head");
            return (Criteria) this;
        }

        public Criteria andHeadNotIn(List<String> values) {
            addCriterion("head not in", values, "head");
            return (Criteria) this;
        }

        public Criteria andHeadBetween(String value1, String value2) {
            addCriterion("head between", value1, value2, "head");
            return (Criteria) this;
        }

        public Criteria andHeadNotBetween(String value1, String value2) {
            addCriterion("head not between", value1, value2, "head");
            return (Criteria) this;
        }

        public Criteria andGenderIsNull() {
            addCriterion("gender is null");
            return (Criteria) this;
        }

        public Criteria andGenderIsNotNull() {
            addCriterion("gender is not null");
            return (Criteria) this;
        }

        public Criteria andGenderEqualTo(Byte value) {
            addCriterion("gender =", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderNotEqualTo(Byte value) {
            addCriterion("gender <>", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderGreaterThan(Byte value) {
            addCriterion("gender >", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderGreaterThanOrEqualTo(Byte value) {
            addCriterion("gender >=", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderLessThan(Byte value) {
            addCriterion("gender <", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderLessThanOrEqualTo(Byte value) {
            addCriterion("gender <=", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderIn(List<Byte> values) {
            addCriterion("gender in", values, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderNotIn(List<Byte> values) {
            addCriterion("gender not in", values, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderBetween(Byte value1, Byte value2) {
            addCriterion("gender between", value1, value2, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderNotBetween(Byte value1, Byte value2) {
            addCriterion("gender not between", value1, value2, "gender");
            return (Criteria) this;
        }

        public Criteria andPayMethodIsNull() {
            addCriterion("pay_method is null");
            return (Criteria) this;
        }

        public Criteria andPayMethodIsNotNull() {
            addCriterion("pay_method is not null");
            return (Criteria) this;
        }

        public Criteria andPayMethodEqualTo(Byte value) {
            addCriterion("pay_method =", value, "payMethod");
            return (Criteria) this;
        }

        public Criteria andPayMethodNotEqualTo(Byte value) {
            addCriterion("pay_method <>", value, "payMethod");
            return (Criteria) this;
        }

        public Criteria andPayMethodGreaterThan(Byte value) {
            addCriterion("pay_method >", value, "payMethod");
            return (Criteria) this;
        }

        public Criteria andPayMethodGreaterThanOrEqualTo(Byte value) {
            addCriterion("pay_method >=", value, "payMethod");
            return (Criteria) this;
        }

        public Criteria andPayMethodLessThan(Byte value) {
            addCriterion("pay_method <", value, "payMethod");
            return (Criteria) this;
        }

        public Criteria andPayMethodLessThanOrEqualTo(Byte value) {
            addCriterion("pay_method <=", value, "payMethod");
            return (Criteria) this;
        }

        public Criteria andPayMethodIn(List<Byte> values) {
            addCriterion("pay_method in", values, "payMethod");
            return (Criteria) this;
        }

        public Criteria andPayMethodNotIn(List<Byte> values) {
            addCriterion("pay_method not in", values, "payMethod");
            return (Criteria) this;
        }

        public Criteria andPayMethodBetween(Byte value1, Byte value2) {
            addCriterion("pay_method between", value1, value2, "payMethod");
            return (Criteria) this;
        }

        public Criteria andPayMethodNotBetween(Byte value1, Byte value2) {
            addCriterion("pay_method not between", value1, value2, "payMethod");
            return (Criteria) this;
        }

        public Criteria andInvoiceAutoFlagIsNull() {
            addCriterion("invoice_auto_flag is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceAutoFlagIsNotNull() {
            addCriterion("invoice_auto_flag is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceAutoFlagEqualTo(Byte value) {
            addCriterion("invoice_auto_flag =", value, "invoiceAutoFlag");
            return (Criteria) this;
        }

        public Criteria andInvoiceAutoFlagNotEqualTo(Byte value) {
            addCriterion("invoice_auto_flag <>", value, "invoiceAutoFlag");
            return (Criteria) this;
        }

        public Criteria andInvoiceAutoFlagGreaterThan(Byte value) {
            addCriterion("invoice_auto_flag >", value, "invoiceAutoFlag");
            return (Criteria) this;
        }

        public Criteria andInvoiceAutoFlagGreaterThanOrEqualTo(Byte value) {
            addCriterion("invoice_auto_flag >=", value, "invoiceAutoFlag");
            return (Criteria) this;
        }

        public Criteria andInvoiceAutoFlagLessThan(Byte value) {
            addCriterion("invoice_auto_flag <", value, "invoiceAutoFlag");
            return (Criteria) this;
        }

        public Criteria andInvoiceAutoFlagLessThanOrEqualTo(Byte value) {
            addCriterion("invoice_auto_flag <=", value, "invoiceAutoFlag");
            return (Criteria) this;
        }

        public Criteria andInvoiceAutoFlagIn(List<Byte> values) {
            addCriterion("invoice_auto_flag in", values, "invoiceAutoFlag");
            return (Criteria) this;
        }

        public Criteria andInvoiceAutoFlagNotIn(List<Byte> values) {
            addCriterion("invoice_auto_flag not in", values, "invoiceAutoFlag");
            return (Criteria) this;
        }

        public Criteria andInvoiceAutoFlagBetween(Byte value1, Byte value2) {
            addCriterion("invoice_auto_flag between", value1, value2, "invoiceAutoFlag");
            return (Criteria) this;
        }

        public Criteria andInvoiceAutoFlagNotBetween(Byte value1, Byte value2) {
            addCriterion("invoice_auto_flag not between", value1, value2, "invoiceAutoFlag");
            return (Criteria) this;
        }

        public Criteria andInvoiceCntIsNull() {
            addCriterion("invoice_cnt is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceCntIsNotNull() {
            addCriterion("invoice_cnt is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceCntEqualTo(Byte value) {
            addCriterion("invoice_cnt =", value, "invoiceCnt");
            return (Criteria) this;
        }

        public Criteria andInvoiceCntNotEqualTo(Byte value) {
            addCriterion("invoice_cnt <>", value, "invoiceCnt");
            return (Criteria) this;
        }

        public Criteria andInvoiceCntGreaterThan(Byte value) {
            addCriterion("invoice_cnt >", value, "invoiceCnt");
            return (Criteria) this;
        }

        public Criteria andInvoiceCntGreaterThanOrEqualTo(Byte value) {
            addCriterion("invoice_cnt >=", value, "invoiceCnt");
            return (Criteria) this;
        }

        public Criteria andInvoiceCntLessThan(Byte value) {
            addCriterion("invoice_cnt <", value, "invoiceCnt");
            return (Criteria) this;
        }

        public Criteria andInvoiceCntLessThanOrEqualTo(Byte value) {
            addCriterion("invoice_cnt <=", value, "invoiceCnt");
            return (Criteria) this;
        }

        public Criteria andInvoiceCntIn(List<Byte> values) {
            addCriterion("invoice_cnt in", values, "invoiceCnt");
            return (Criteria) this;
        }

        public Criteria andInvoiceCntNotIn(List<Byte> values) {
            addCriterion("invoice_cnt not in", values, "invoiceCnt");
            return (Criteria) this;
        }

        public Criteria andInvoiceCntBetween(Byte value1, Byte value2) {
            addCriterion("invoice_cnt between", value1, value2, "invoiceCnt");
            return (Criteria) this;
        }

        public Criteria andInvoiceCntNotBetween(Byte value1, Byte value2) {
            addCriterion("invoice_cnt not between", value1, value2, "invoiceCnt");
            return (Criteria) this;
        }

        public Criteria andBankcardCntIsNull() {
            addCriterion("bankcard_cnt is null");
            return (Criteria) this;
        }

        public Criteria andBankcardCntIsNotNull() {
            addCriterion("bankcard_cnt is not null");
            return (Criteria) this;
        }

        public Criteria andBankcardCntEqualTo(Byte value) {
            addCriterion("bankcard_cnt =", value, "bankcardCnt");
            return (Criteria) this;
        }

        public Criteria andBankcardCntNotEqualTo(Byte value) {
            addCriterion("bankcard_cnt <>", value, "bankcardCnt");
            return (Criteria) this;
        }

        public Criteria andBankcardCntGreaterThan(Byte value) {
            addCriterion("bankcard_cnt >", value, "bankcardCnt");
            return (Criteria) this;
        }

        public Criteria andBankcardCntGreaterThanOrEqualTo(Byte value) {
            addCriterion("bankcard_cnt >=", value, "bankcardCnt");
            return (Criteria) this;
        }

        public Criteria andBankcardCntLessThan(Byte value) {
            addCriterion("bankcard_cnt <", value, "bankcardCnt");
            return (Criteria) this;
        }

        public Criteria andBankcardCntLessThanOrEqualTo(Byte value) {
            addCriterion("bankcard_cnt <=", value, "bankcardCnt");
            return (Criteria) this;
        }

        public Criteria andBankcardCntIn(List<Byte> values) {
            addCriterion("bankcard_cnt in", values, "bankcardCnt");
            return (Criteria) this;
        }

        public Criteria andBankcardCntNotIn(List<Byte> values) {
            addCriterion("bankcard_cnt not in", values, "bankcardCnt");
            return (Criteria) this;
        }

        public Criteria andBankcardCntBetween(Byte value1, Byte value2) {
            addCriterion("bankcard_cnt between", value1, value2, "bankcardCnt");
            return (Criteria) this;
        }

        public Criteria andBankcardCntNotBetween(Byte value1, Byte value2) {
            addCriterion("bankcard_cnt not between", value1, value2, "bankcardCnt");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingCountIsNull() {
            addCriterion("bankcard_binging_count is null");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingCountIsNotNull() {
            addCriterion("bankcard_binging_count is not null");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingCountEqualTo(Byte value) {
            addCriterion("bankcard_binging_count =", value, "bankcardBingingCount");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingCountNotEqualTo(Byte value) {
            addCriterion("bankcard_binging_count <>", value, "bankcardBingingCount");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingCountGreaterThan(Byte value) {
            addCriterion("bankcard_binging_count >", value, "bankcardBingingCount");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingCountGreaterThanOrEqualTo(Byte value) {
            addCriterion("bankcard_binging_count >=", value, "bankcardBingingCount");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingCountLessThan(Byte value) {
            addCriterion("bankcard_binging_count <", value, "bankcardBingingCount");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingCountLessThanOrEqualTo(Byte value) {
            addCriterion("bankcard_binging_count <=", value, "bankcardBingingCount");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingCountIn(List<Byte> values) {
            addCriterion("bankcard_binging_count in", values, "bankcardBingingCount");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingCountNotIn(List<Byte> values) {
            addCriterion("bankcard_binging_count not in", values, "bankcardBingingCount");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingCountBetween(Byte value1, Byte value2) {
            addCriterion("bankcard_binging_count between", value1, value2, "bankcardBingingCount");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingCountNotBetween(Byte value1, Byte value2) {
            addCriterion("bankcard_binging_count not between", value1, value2, "bankcardBingingCount");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingDateIsNull() {
            addCriterion("bankcard_binging_date is null");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingDateIsNotNull() {
            addCriterion("bankcard_binging_date is not null");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingDateEqualTo(Date value) {
            addCriterionForJDBCDate("bankcard_binging_date =", value, "bankcardBingingDate");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("bankcard_binging_date <>", value, "bankcardBingingDate");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingDateGreaterThan(Date value) {
            addCriterionForJDBCDate("bankcard_binging_date >", value, "bankcardBingingDate");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("bankcard_binging_date >=", value, "bankcardBingingDate");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingDateLessThan(Date value) {
            addCriterionForJDBCDate("bankcard_binging_date <", value, "bankcardBingingDate");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("bankcard_binging_date <=", value, "bankcardBingingDate");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingDateIn(List<Date> values) {
            addCriterionForJDBCDate("bankcard_binging_date in", values, "bankcardBingingDate");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("bankcard_binging_date not in", values, "bankcardBingingDate");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("bankcard_binging_date between", value1, value2, "bankcardBingingDate");
            return (Criteria) this;
        }

        public Criteria andBankcardBingingDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("bankcard_binging_date not between", value1, value2, "bankcardBingingDate");
            return (Criteria) this;
        }

        public Criteria andQrcodeIsNull() {
            addCriterion("qrcode is null");
            return (Criteria) this;
        }

        public Criteria andQrcodeIsNotNull() {
            addCriterion("qrcode is not null");
            return (Criteria) this;
        }

        public Criteria andQrcodeEqualTo(String value) {
            addCriterion("qrcode =", value, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeNotEqualTo(String value) {
            addCriterion("qrcode <>", value, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeGreaterThan(String value) {
            addCriterion("qrcode >", value, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeGreaterThanOrEqualTo(String value) {
            addCriterion("qrcode >=", value, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeLessThan(String value) {
            addCriterion("qrcode <", value, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeLessThanOrEqualTo(String value) {
            addCriterion("qrcode <=", value, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeLike(String value) {
            addCriterion("qrcode like", value, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeNotLike(String value) {
            addCriterion("qrcode not like", value, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeIn(List<String> values) {
            addCriterion("qrcode in", values, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeNotIn(List<String> values) {
            addCriterion("qrcode not in", values, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeBetween(String value1, String value2) {
            addCriterion("qrcode between", value1, value2, "qrcode");
            return (Criteria) this;
        }

        public Criteria andQrcodeNotBetween(String value1, String value2) {
            addCriterion("qrcode not between", value1, value2, "qrcode");
            return (Criteria) this;
        }

        public Criteria andLvIsNull() {
            addCriterion("lv is null");
            return (Criteria) this;
        }

        public Criteria andLvIsNotNull() {
            addCriterion("lv is not null");
            return (Criteria) this;
        }

        public Criteria andLvEqualTo(Byte value) {
            addCriterion("lv =", value, "lv");
            return (Criteria) this;
        }

        public Criteria andLvNotEqualTo(Byte value) {
            addCriterion("lv <>", value, "lv");
            return (Criteria) this;
        }

        public Criteria andLvGreaterThan(Byte value) {
            addCriterion("lv >", value, "lv");
            return (Criteria) this;
        }

        public Criteria andLvGreaterThanOrEqualTo(Byte value) {
            addCriterion("lv >=", value, "lv");
            return (Criteria) this;
        }

        public Criteria andLvLessThan(Byte value) {
            addCriterion("lv <", value, "lv");
            return (Criteria) this;
        }

        public Criteria andLvLessThanOrEqualTo(Byte value) {
            addCriterion("lv <=", value, "lv");
            return (Criteria) this;
        }

        public Criteria andLvIn(List<Byte> values) {
            addCriterion("lv in", values, "lv");
            return (Criteria) this;
        }

        public Criteria andLvNotIn(List<Byte> values) {
            addCriterion("lv not in", values, "lv");
            return (Criteria) this;
        }

        public Criteria andLvBetween(Byte value1, Byte value2) {
            addCriterion("lv between", value1, value2, "lv");
            return (Criteria) this;
        }

        public Criteria andLvNotBetween(Byte value1, Byte value2) {
            addCriterion("lv not between", value1, value2, "lv");
            return (Criteria) this;
        }

        public Criteria andNicknameIsNull() {
            addCriterion("nickname is null");
            return (Criteria) this;
        }

        public Criteria andNicknameIsNotNull() {
            addCriterion("nickname is not null");
            return (Criteria) this;
        }

        public Criteria andNicknameEqualTo(String value) {
            addCriterion("nickname =", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameNotEqualTo(String value) {
            addCriterion("nickname <>", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameGreaterThan(String value) {
            addCriterion("nickname >", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameGreaterThanOrEqualTo(String value) {
            addCriterion("nickname >=", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameLessThan(String value) {
            addCriterion("nickname <", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameLessThanOrEqualTo(String value) {
            addCriterion("nickname <=", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameLike(String value) {
            addCriterion("nickname like", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameNotLike(String value) {
            addCriterion("nickname not like", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameIn(List<String> values) {
            addCriterion("nickname in", values, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameNotIn(List<String> values) {
            addCriterion("nickname not in", values, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameBetween(String value1, String value2) {
            addCriterion("nickname between", value1, value2, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameNotBetween(String value1, String value2) {
            addCriterion("nickname not between", value1, value2, "nickname");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andPasswordIsNull() {
            addCriterion("password is null");
            return (Criteria) this;
        }

        public Criteria andPasswordIsNotNull() {
            addCriterion("password is not null");
            return (Criteria) this;
        }

        public Criteria andPasswordEqualTo(String value) {
            addCriterion("password =", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotEqualTo(String value) {
            addCriterion("password <>", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordGreaterThan(String value) {
            addCriterion("password >", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("password >=", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLessThan(String value) {
            addCriterion("password <", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLessThanOrEqualTo(String value) {
            addCriterion("password <=", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLike(String value) {
            addCriterion("password like", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotLike(String value) {
            addCriterion("password not like", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordIn(List<String> values) {
            addCriterion("password in", values, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotIn(List<String> values) {
            addCriterion("password not in", values, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordBetween(String value1, String value2) {
            addCriterion("password between", value1, value2, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotBetween(String value1, String value2) {
            addCriterion("password not between", value1, value2, "password");
            return (Criteria) this;
        }

        public Criteria andLongitudeIsNull() {
            addCriterion("longitude is null");
            return (Criteria) this;
        }

        public Criteria andLongitudeIsNotNull() {
            addCriterion("longitude is not null");
            return (Criteria) this;
        }

        public Criteria andLongitudeEqualTo(Double value) {
            addCriterion("longitude =", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotEqualTo(Double value) {
            addCriterion("longitude <>", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeGreaterThan(Double value) {
            addCriterion("longitude >", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeGreaterThanOrEqualTo(Double value) {
            addCriterion("longitude >=", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLessThan(Double value) {
            addCriterion("longitude <", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLessThanOrEqualTo(Double value) {
            addCriterion("longitude <=", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeIn(List<Double> values) {
            addCriterion("longitude in", values, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotIn(List<Double> values) {
            addCriterion("longitude not in", values, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeBetween(Double value1, Double value2) {
            addCriterion("longitude between", value1, value2, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotBetween(Double value1, Double value2) {
            addCriterion("longitude not between", value1, value2, "longitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeIsNull() {
            addCriterion("latitude is null");
            return (Criteria) this;
        }

        public Criteria andLatitudeIsNotNull() {
            addCriterion("latitude is not null");
            return (Criteria) this;
        }

        public Criteria andLatitudeEqualTo(Double value) {
            addCriterion("latitude =", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotEqualTo(Double value) {
            addCriterion("latitude <>", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeGreaterThan(Double value) {
            addCriterion("latitude >", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeGreaterThanOrEqualTo(Double value) {
            addCriterion("latitude >=", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLessThan(Double value) {
            addCriterion("latitude <", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLessThanOrEqualTo(Double value) {
            addCriterion("latitude <=", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeIn(List<Double> values) {
            addCriterion("latitude in", values, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotIn(List<Double> values) {
            addCriterion("latitude not in", values, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeBetween(Double value1, Double value2) {
            addCriterion("latitude between", value1, value2, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotBetween(Double value1, Double value2) {
            addCriterion("latitude not between", value1, value2, "latitude");
            return (Criteria) this;
        }

        public Criteria andSecurityIsNull() {
            addCriterion("security is null");
            return (Criteria) this;
        }

        public Criteria andSecurityIsNotNull() {
            addCriterion("security is not null");
            return (Criteria) this;
        }

        public Criteria andSecurityEqualTo(String value) {
            addCriterion("security =", value, "security");
            return (Criteria) this;
        }

        public Criteria andSecurityNotEqualTo(String value) {
            addCriterion("security <>", value, "security");
            return (Criteria) this;
        }

        public Criteria andSecurityGreaterThan(String value) {
            addCriterion("security >", value, "security");
            return (Criteria) this;
        }

        public Criteria andSecurityGreaterThanOrEqualTo(String value) {
            addCriterion("security >=", value, "security");
            return (Criteria) this;
        }

        public Criteria andSecurityLessThan(String value) {
            addCriterion("security <", value, "security");
            return (Criteria) this;
        }

        public Criteria andSecurityLessThanOrEqualTo(String value) {
            addCriterion("security <=", value, "security");
            return (Criteria) this;
        }

        public Criteria andSecurityLike(String value) {
            addCriterion("security like", value, "security");
            return (Criteria) this;
        }

        public Criteria andSecurityNotLike(String value) {
            addCriterion("security not like", value, "security");
            return (Criteria) this;
        }

        public Criteria andSecurityIn(List<String> values) {
            addCriterion("security in", values, "security");
            return (Criteria) this;
        }

        public Criteria andSecurityNotIn(List<String> values) {
            addCriterion("security not in", values, "security");
            return (Criteria) this;
        }

        public Criteria andSecurityBetween(String value1, String value2) {
            addCriterion("security between", value1, value2, "security");
            return (Criteria) this;
        }

        public Criteria andSecurityNotBetween(String value1, String value2) {
            addCriterion("security not between", value1, value2, "security");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria implements Serializable {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion implements Serializable {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}